home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ASME's Mechanical Engine…ing Toolkit 1997 December
/
ASME's Mechanical Engineering Toolkit 1997 December.iso
/
ai
/
pdproprg.lzh
/
RSENT.PRO
< prev
next >
Wrap
Text File
|
1985-12-31
|
1KB
|
36 lines
read_in([W|Ws]) :- get0(C), readword(C,W,C1), restsent(W,C1,Ws).
restsent( W,_,[]) :- lastword(W), !.
restsent(W,C,[W1|Ws]) :- readword(C,W1,C1), restsent(W1,C1,Ws).
readword(C,W,C1) :- single_character(C), !, name(W,[C]), get0(C1).
readword(C,W,C2) :-
in_word(C,NewC), !,
get0(C1),
restword(C1,Cs,C2),
name(W,[NewC|Cs]).
readword(C,W,C2) :- get0(C1), readword(C1,W,C2).
restword(C,[NewC|Cs],C2) :-
in_word(C,NewC), !,
get0(C1),
restword(C1,Cs,C2).
restword(C,[],C).
single_character(44). /* , */
single_character(59). /* ; */
single_character(58). /* : */
single_character(63). /* ? */
single_character(33). /* ! */
single_character(46). /* . */
in_word(C,C) :- C>96, C<123. /* a b..z */
in_word(C,L) :- C>64, C<91, L is C+32. /* A,B..Z */
in_word(C,C) :- C>47, C<58. /* 1,2,..9 */
in_word(39,39). /* ' */
in_word(45,45). /* - */
lastword( '.' ).
lastword( '!' ).
lastword( '?' ).